package net.gaox.service;

import net.gaox.entrty.BankAccount;

import java.math.BigDecimal;

/**
 * <p> 银行卡操作接口 </p>
 *
 * @author gaox·Eric
 * @date 2021/11/11 20:29
 */
public interface BankInterface {

    /**
     * 注册
     *
     * @param id            id
     * @param accountNumber 银行卡号
     * @param name          姓名
     * @return 银行账户信息
     */
    Boolean register(Long id, String accountNumber, String name);

    /**
     * 注销
     *
     * @param accountNumber 银行卡号
     * @return 是否注销成功
     */
    Boolean cancel(String accountNumber);

    /**
     * 存钱
     *
     * @param accountNumber 银行卡号
     * @param balance       金额
     * @return 操作状态
     */
    Boolean addMoney(String accountNumber, BigDecimal balance);


    /**
     * 取钱
     *
     * @param accountNumber 银行卡号
     * @param balance       金额
     * @return 操作状态
     */
    Boolean subMoney(String accountNumber, BigDecimal balance);

    /**
     * 查找银行卡
     *
     * @param accountNumber 银行卡号
     * @return 银行卡
     */
    BankAccount getBankAccount(String accountNumber);

}
